草庐IT

python - 将 RGB 转换为 HLS 并返回

全部标签

ruby - 是否可以让 class.property = x 返回 x 以外的东西?

假设我有一个Ruby类:classMyClassdefself.propertyreturn"someVal"enddefself.property=(newVal)#dosomethingtoset"property"success=truereturnsuccess#successisabooleanendend如果我尝试执行MyClass.property=x,整个语句的返回值始终是x。许多基于C/受启发的语言都习惯于返回bool“成功”值-是否可以使用Ruby中的“等于语法”为setter执行此操作?此外-如果这不可能,为什么不呢?允许“equalssetter”操作返回一个值

ruby - 你如何使用 Ruby CSV 转换器?

假设您有以下文件:textfield,datetimefield,numfieldfoo,2008-07-0117:50:55.004688,1bar,2008-07-0217:50:55.004688,2读取.csv的Ruby代码类似于:#!/usr/bin/envrubyrequire'csv'csv=CSV($stdin,:headers=>true,:converters=>:all)csv.eachdo|row|print"#{row}"the_date=row['datetimefield'].to_dateend该代码给出了这个错误信息:./foo2.rb:8:in`bl

Ruby:将数组转换为散列时注入(inject)问题

a=[[1,'a'],[2,'b'],[3,'c'],[4,'d']]a.inject({}){|r,val|r[val[0]]=val[1]}当我运行它时,我得到一个索引错误当我将block更改为a.inject({}){|r,val|r[val[0]]=val[1];r}然后它就可以工作了。ruby如何处理未获得我想要的结果的第一次注入(inject)尝试?有更好的方法吗? 最佳答案 仅仅因为Ruby是动态和隐式类型的并不意味着您不必考虑类型。Enumerable#inject没有显式累加器的类型(这通常称为reduce)类似于

ruby - 我如何检查字符串中是否存在某个单词,如果不存在,则在 ruby​​ 中返回 false?

假设我有一个字符串str="Thingstodo:eatandsleep."如何检查"do:"是否存在于str中,不区分大小写? 最佳答案 像这样:puts"yes"ifstr=~/do:/i要返回一个bool值(大概是从一个方法中),将匹配结果与nil进行比较:defhas_do(str)(str=~/do:/i)!=nilend或者,如果你不喜欢!=nil那么你可以使用!~而不是=~并否定结果:defhas_do(str)notstr!~/do:/iend但我真的不喜欢双重否定......

ruby-on-rails - rails 控制台要求 nokogiri 返回 false(但在 irb 中工作)

我的环境是ruby1.9.3p327和rails3.2.8onamac。我将gemnokogiri添加到我的Gemfile中。运行bundleinstall命令。命令显示Usingnokogiri(1.5.5)和gemlist命令返回nokogiri(1.5.5)。在Rails控制台中require'nokogiri'返回false但在irb中它返回true。这怎么可能? 最佳答案 根据theAPIdocumentation的前两行,require将:如果加载成功返回true如果已经加载则返回false如果找不到文件则引发LoadE

ruby-on-rails - 尝试加载 gem 时出错 'devise. ActiveSupport: Duration can' t 被强制转换为整数

我已经尝试修复这个错误一段时间了,但没有找到任何帮助,请帮忙。我正在尝试使用devisegem在我的ROR应用程序上运行迁移。但是我从ActiveSupport收到错误消息“无法将持续时间强制转换为整数”。这发生了,然后我尝试运行:rakedb:migrate我不确定它是否与迁移代码有关,或者是否与新设计版本有关。这是错误消息:/home/sam/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-4.1.1/lib/active_support/values/time_zone.rb:285:warning:cir

ruby-on-rails - 使用 Ruby 将数字转换为单词?

如何在ruby​​中将数字转换为单词?我知道某处有一颗gem。尝试在没有gem的情况下实现它。我只需要数字到英文单词的整数。找到了这个,但它很乱。如果您对如何实现更清晰、更易于阅读的解决方案有任何想法,请分享。http://raveendran.wordpress.com/2009/05/29/ruby-convert-number-to-english-word/这是我一直在做的事情。但是在实现秤时遇到了一些问题。代码还是一团糟。我希望在它正常运行时使其更具可读性。classNumberswordsdefin_words(n)words_hash={0=>"zero",1=>"one

ruby-on-rails - 让 find_by in rails 返回多个结果

我正在尝试返回用户创建的所有组。所有组都与用户标识相关联。当我运行find_by查询时,它只返回第一个结果。有没有办法让它返回多个?提前致谢 最佳答案 我正在写一个单独的答案,因为我没有50分,无法评论JamesLowrey的答案。find_all_by已弃用(Ruby4.2)。要从模型中获取事件记录列表,请执行以下操作:Model.where(attribute_name:val)例如,要在Vehicle表(具有列名称“model_name”)中查找所有记录,使得model_name的值为“Audi”,执行@vehicles=Ve

ruby - 没有将 String 隐式转换为 Integer (TypeError)?

我正在尝试编写一个脚本,该脚本将从使用XMLRPC的RedHatSatellite/Spacewalk获取系统ID。我正在尝试获取ID,这是使用系统名称使用XMLRPC客户端时的第一个值。我引用的是thedocumentation以下使用的方法来自RedHat:#!/usr/bin/envrubyrequire"xmlrpc/client"@SATELLITE_URL="satellite.rdu.salab.redhat.com"@SATELLITE_API="/rpc/api"@SATELLITE_LOGIN="********"@SATELLITE_PASSWORD="*****

Ruby 将字符串转换为文件

是否可以将字符串转换为文件而不将其写入磁盘?我想无处不在地使用文件的字符串:input="123"if(ARGV.length==1)input=File.open(ARGV[0])#dostuffwithinputend我可以从字符串创建文件(不写入磁盘)吗?否则,当它是一个字符串时,我将无法执行input.readline()。 最佳答案 您可以使用StringIO(1.8.7,1.9.3)创建一个IO(1.8.7,1.9.3)对象(即一个对象就像一个文件)来自一个字符串:file=StringIO.new("123")line